bladget, скорее всего (если у тебя Vista или W7 стоит), в старой папки остались "файлы совместимости", которые не удаляются просто так. В WoO много всякого мусора было...
Через что уничтожаешь? Если через килл, то конечно умирает и нейтральный.
Если наносить от какого-то даммика урон в мильены, то не умрет нейтральный.
Можно от даммика развеяние нежити за 0.01 сек.
Заменять можно, внося значение золота в переменную и потом, создавая новый рудник, ставить количество золота в него из переменной, благо это даже в ГУИ реализовано.
Это древняя бага ВЕ, много кто такое видел...
Ни будет робить, нужна основа где ипользуется это поле, в данном случае будут работать только поля от трансмутации ну и мб еще какое то, если близзы сделали еще какой то эффект у этой способности а потом убрали на уровне РО.
Прочие поля даже если будут записны в файл, будут тупо мусором, движек не смотрит на поля, движек смотрит на ID, от чего наследуются и какие свойста, а после работает с ними.
Создаёшь массив юнитов и запихиваешь в него крипов. Создаёшь массив точек и запихиваешь в него позиции соответствующих крипов. Делаешь триггер, который сверяет убитого с массивом юнитов и создаёт нового в соответствующей точке из второго массива.
Если тебе нужно, чтобы юниты воскрешались через какое-то время, то тебе придется изучить основы jass, а именно - узнать, как работают локальные переменные. Создаёшь локальный номер убитого, ждешь нужное время и воскрешаешь юнита с локальным номером.
Знаю такой баг. Вылечтл удалением из карты всего импорта-мусора и переводов путей импорта на источник из кампании.
Т.е. этот баг возникает при очень большом весе впихиваемой в кампанию карты.
Не советую делать карты на последних патчах, там близзарды сломали все что только можно было сломать. Это раз, два - для кого карта? На оф серверах все мертво, редкие мили матчи явно не ваша аудитория.
Три - 1.26 полно комьюнити + все работает, не хватает возможностей - мемхак в помощь.
Dimari93, во первых
для того чтобы написать комментарий не надо цитировать предыдущий
во вторых
ai файл это файл с джасс кодом
не знаешь джасс - ничего не поймёшь в ai и следовательно не сможешь модифицировать
в общем все возможные ответы даны и разжёвано так что любой знающий основы джасс поймёт
вопрос закрыт
globals
player Pl = null
endglobals
function abc takes nothing returns boolean
return IsUnitEnemy(GetFilterUnit(), Pl)
endfunction
function zemle takes nothing returns nothing
local unit u = GetTriggerUnit()
local group g = CreateGroup()
local real x = GetUnitX(u)
local real y = GetUnitY(u)
local real Random = GetRandomReal(0, 360)
local boolexpr d = Condition(function abc)
set Pl = GetTriggerPlayer()
call GroupEnumUnitsInRange( g, x, y, 850, d )
call ForGroup( g, function zemlee )
call UnitApplyTimedLife(CreateUnit (p, 'h007',x,y,Random),'BFiq',0.50 ) // ???
call DestroyGroup(g)
call DestroyBoolexpr(d)
set u = null
set p = null
set g = null
set d =null
endfunction
PT153, Вау, а я не знал. Этот вопрос был создан как раз для того чтоб найти способ избежать утечек из-за добавления события, а не для того чтоб вы писали очевидные вещи. Но пока, альтернативы ни на гуи ни на джасс никто не предоставил.
дык заноси их в группу, если юнит уже в группе то не добавляешь событие
сайт
custom value - целочисленное значение, которое вы устанавливаете с помощью триггера в единицу. в начале всегда всегда 0 для каждого блока, но вы можете установить его для каждого целого числа с действием «unit - set custom value».
Можете также и узнать сколько у юнита этого custom value. Переводится как обычное значение. Оно есть у юнита, предмета. У каждого юнита или предмета оно может быть разным. Короче можно систему намутить
Point Value (ты наверное про нижнюю функцию, также в первый раз слышу)? так в нее триггерно ничего нельзя записать, только узнать.
native GetUnitPointValue takes unit whichUnit returns integer
Значение точки - это целочисленное значение, заданное в редакторе объектов для типа единицы. на самом деле это значение того, сколько очков вы получите для обучения этого подразделения в конце игры, однако это бесполезно в пользовательских играх, и вы можете использовать его для настройки некоторых функций вашей карты. точечное значение единицы всегда задается в редакторе объектов и не может быть установлено на что-то еще во время игры. также все единицы того же типа получили одно и то же значение.
Неуязвимость проверяют через даммика с атакой, через приказ, сможет ли атаковать или нет, просто проверка выполнения приказа. Так же пытаются нанести урон и смотрят сколько он отнял здоровья, так можно и определить неуязвимость и вычислить резист юнита к конкретному типу урона.
Можно сделать через разные способности и уровни способности. Способность 1 - уровни 1, 2, 3 - с описанием: "..осталось [1, 2, 3] заряда". Способность 2 - уровень 1 - неактивная способность.
Логическая переменная (назовём её Cooldown).
Таймер - время = времени восстановления заряда
Триггер 1 Событие - Применение способности. Условие - Применяемая способность = Способность 1 Действие - Установить применившему уровень Способности 1 = уровень Способности 1 минус 1.
Если Cooldown = false, то
Запустить таймер
Установить Cooldown = true
Если уровень Способности 1 = 0, то
Удалить Способность 1 и добавить Способность 2
Триггер 2 Событие - Время - таймер истекает. Действие - Если уровень Способности 1 больше нуля, то
Установить уровень Способности 1 = уровень Способности 1 плюс 1;
Если уровень Способности 1 = 3, то установить Cooldown = false
. . . . . . . . Иначе - запустить таймер
Иначе - удалить герою Способность 2, добавить Способность 1, запустить таймер.
Вызывают существ (можно отловить через событие - "юнит призывает боевую единицу" или через событие "юнит вошел в зону" с проверкой баффа, либо классификации "иллюзия" или "вызванный" и прочее):
ПРИЗЫВ: безграничное число вызванных (вызванные юниты не умирают, если кастер умрет)
Дух воды 'AHwe' - вызывает духов воды (можно указать кол-во вызванных). Появляется рядом с кастером. Дух Океана 'ACwe' - вызывает духов океана (можно указать кол-во вызванных). Появляется рядом с кастером. Разведка 'AEst' - вызывает сову-разведчицу (можно указать кол-во вызванных). Появляется рядом с кастером. Возмездие 'AEsv' - вызывает душу возмездия (можно указать кол-во вызванных). Появляется рядом с кастером. Феникс 'AHpx' - вызывает феникса (можно указать кол-во вызванных). Появляется рядом с кастером. Больше одного феникса нельзя призвать, заменяется новым. Дело не в вызываемой абилке (скорее всего в самом фениксе), так как пробовал поменять на другого типа юнита, и тут безграничное число юнитов вызывает. Медведь 'ANsg' - вызывает медведя (можно указать кол-во вызванных). Появляется рядом с кастером. Кабан 'ANsq'/'Arsq' - вызывает кабана (можно указать кол-во вызванных). Появляется рядом с кастером. Щупальце 'ACtn' - вызывает щупальце (можно указать кол-во вызванных). Появляется рядом с кастером. Призыв слуг 'Aslp'/'ANwm' - вызывает морских существ, готовых прислуживаться (можно указать кол-во вызванных). Появляется рядом с кастером. Сокол 'ANsw' - призывает сокола (можно указать кол-во вызванных). Появляется рядом с кастером. Заводной зверь 'Amec' - вызывает нейтральную зверушку (здесь не указано ничего, и нельзя указать какой тип призывается. Всегда рандомно вызывает зверушку: это может быть кроликом, лягушкой, енотом, цыпленком, свиньей, овца (часто выпадают именно эти зверьки, возможно есть другие, но это не попадались мне). Вшито в игре где-то). Зато можно указать количество вызываемых зверей. Эта абилка вставлена в одноразовый предмет. Вызывает навсегда (длительность задано на "ноль", но можно задать время действия вызова). Вызывает безграничное число юнитов. Это не совсем нейтральное существо, оно может подчиняться вашим указаниям (у нее есть, конечно, бродилка. чтоб не стояло на месте). Это существо больше создано для разведки, вы можете создать неподалеку от базы противника и заслать на базу. Враги не трогают нейтралов. В чем суть этой абилки? Если создать изначально цыпленка на карте, и заслать на базу врага, этого цыпленка тут же заметят как врага, и сразу же прирежут. А если вызвать через эту способность, то враг игнорит вашу зверушку (в некоторых играх против ботов надо попробовать сделать препятствие - если узкие проходы просто загородить цыплятами, то возможно пройти будет сложно). Единственное, что настоящий игрок может заподозрить и убить.
Тварь из Недр 'ANlm' - вызывает лавовых духов огня, обитающих в магме (можно указать кол-во вызванных). Появляется рядом с кастером. Эта абилка отличается от других, поскольку она особенная. Описание: "Нанося урон жертве, она забирает часть жизненной силы. Накопив достаточно жизненной силы, она порождает вторую такую тварь" (при чем это не отслеживается событием "юнит призывает боевую единицу", отслеживает только призыв первой твари, а вот деление нет, деление отслеживается только событием "юнит входит в область"). Короче делится на две твари. Хотя по сути она не похищает жизнь, в абилке настройки ловят на количество ударов, после которого юнит делением вызывает
Характеристики:
"Данные - Деление: количество атак" - кол-во ударов, после которого тварь начнет делиться на себе подобных. Можно сразу проверить, поставив 1.
"Данные - Деление: доп. срок жизни" - таймер жизни. Это значение при делении продлевает время жизни существу, которое вызвало деление, и столько же добавляет вызванному существу.
"Данные - фактор здоровья" - процент здоровья от макс. запаса. Если первый юнит будет покосан (ранен), то при делений второй юнит имеет точно такое же здоровье. Однако, поле "фактор здоровья" пополняем первому и второму юниту часть здоровья. В этом поле стоит 0.5, значит половина от запаса пополняет обоим. (0.00 - ничего не даст, а при отрицательном значений юниты умирают)
"Данные - Задержка деления" - задержка перед тем как поделится на две части. Тварь начинает трясти, а потом делится на две части.
"Данные - количество поколений" - кастер вызвает одну тварь, назовем ее основной. Кастер повторно основных юнитов может безгранично множество вызвать. А основной юнит может вызвать делением других таких же побочных (назову их так, они ни чем не отличаются от основного. Начиная с 4 поколения, у них меняется изображение: с духа на огонька, а в остальном характеристики те же). Число поколение так понял, это сколько раз может расколоться. Например, кол-во поколений = 3, основной юнит - первое поколение, делится на два, теперь эти два юнита - второе поколение, делятся, становится 4 юнита, эти 4 юнита - третье поколение (и больше делиться не могут). Мне неизвестно точно, делится ли юнит на двух новых, или просто вызвает (почкованием размножается), больше похоже, что второе. ставил кол-во поколений 5, и поделило так много юнитов, стало всего 16. Ставил кол-во поколений 6, стало 32.
ФОРМУЛА геометрической прогрессий - макс. кол-во юнитов:
q = 2 (мы знаем, что с каждым шагом их становится в два раза больше)
b1 = 1 (сколько вначале вызываем)
bn = b1 * q ^ n-1 - формула
b5 = b1 * q ^ 5-1 = 1 * 2 ^ 4 = 16
b6 = b1 * q ^ 6-1 = 1 * 2 ^ 6 = 32
Как писал, основных может вызвать много, а значит, и с ними будет также множество побочных при делений (как видим кол-во поколений не влияет на всех, только на определенную группу).
ПРИЗЫВ: Призвать больше чем указано не может, заменяется новым. Здесь тоже не умирают, если кастер сдох
Дух волка 'AOsf'/'ACsf'/'ACs7' - вызывает духов волков. (можно указать кол-во вызванных). Появляется рядом с кастером. Дух вепря 'ACs9' - вызывает вепря (можно указать кол-во вызванных). Появляется рядом с кастером. Медведь (Рексар) 'Arsg' - вызывает медведя (можно указать кол-во вызванных). Появляется рядом с кастером. Астральный зверь 'ACs8' - вызывает адских охотников (можно указать кол-во вызванных). Появляется рядом с кастером. Охотник за головами (предмет) 'AIsh' - вызывает берсерков (можно указать кол-во вызванных). Появляется рядом с кастером. Призыв слуг (предмет) 'AIwm' - призывает морлоков (можно указать кол-во вызванных). Появляется рядом с кастером.
ПРИЗЫВ: Предметные (здесь вы можете призвать два разных типа войск в отличий от других призывов. Эта абилки предметов одинаковы, даже приказы одинаковы. Могут вызвать бесконечное число юнитов, то есть не заменяются новыми):
Предмет: Вызов Адской гончей 'AIfh' Предмет: Вызов Привратника Ада 'AIfu' Предмет: Вызов Призрачного рыцаря 'AIir' Предмет: Вызов беорна 'AIff' Предмет: Вызов беорна-воителя 'AIuw' Предмет: Вызов каменного голема 'AIfr' Предмет: Вызов красного дракона 'AIfd' Предмет: Вызов скелета 'AIfs'
Вроде как тоже не заметил уничтожения вызванного юнита после смерти героя
ПРИЗЫВ: установка вардов в точку
Невидимый страж 'Aeye' - вард духов с большим зеленым глазом, установленный на землю, наблюдает в течении длительного периода времени. Видит также невидимые войска. Устанавливается в указанную точку. Примечание: эта абилка наделяет призываемого юнита постоянной невидимостью. есть у варда скилл "Дух(видимый)" 'Aeth', который не делает невидимый, а просто наделяет указанный в характеристиках данными. Вызывает только одного. Колдовская ловушка 'Asta' - вард-тотем. Эта способность создает вокруг юнита ловушку, которая обездвиживает (оглушает, stun) противников. Прицел, аналогично с духом-целителем, действует по области. Но этот радиус круг от прицела настраивается в самой абилке. Вызывает только одного. Примечание: эта абилка наделяет призываемого юнита невидимостью, правда не постоянная она, но можно настроить время захода в инвиз. Вот все настройки: Длительность оглушения - сколько продлится дебафф оглушения на обычных юнитах (не героях) прежде чем пройдет. Длительность воздействия (герой) - сколько продлится дебафф оглушения на герое. Длительность нормальная - время жизни призванного юнита. Задержка запуска - время после призыва и до того, как он станет невидимым. Радиус обнаружения - расстояние, на котором может быть обнаружен противник и начнет сработка ловушки. Радиус взрыва - область оглушения юнитов. Радиус оглушения у колдовской ловушки слишком маленький, поэтому не всегда кажется срабатывает (на самом деле, это работает на медленных юнитах или ловушки эффективны против милишников). Как только капкан захлопнется, тотем исчезает. Можете продлевать оглушение, чтобы юнит не сбежал, поджав хвост. Это нужно ставить новую ловушку, правда, зависит это еще и от наличия маны, и кулдауна абилки. Ловушка не срабатывает на невидимых юнитов. Можно указать юниту с напару с этой абилки "Урон от взрыва", "Урон от взрыва" срабатывает после смерти носителя, она наносит всем урона. Так как колдовская ловушка не наносит никакого урона, а лишь оглушает, то это хорошо взаимодействуется. Дух-целитель (знахарь) 'Ahwd'/'AChw'/'AIhw' - вард духов, который устанавливается на землю знахарем. Лечит всех вокруг. Этот вызов устанавливается в указанную точку (кстати, мне так и не удалось убрать круг прицела (причем красочный у орков), или хотя бы изменить радиус круга от прицела, но это легко обойти. Канал + триггеры с dummy-кастом в точку). Вызывает только одного. Сторожевая змея 'AOsw'/'Arsw' - вызов призрачной змеи, которая атакует любого рядышком противника. Устанавливается в указанную точку. (можно указать кол-во вызванных) Руна стража 'APwt' - призывает неуязвимого варда-духа, наблюдающего за местностью. Этот призыв делает юнита невидимым (как и у абилки "Невидимый страж").
Темные врата 'ANdp' - в указанную точку вызывает несколько существ. Кол-во вызываемых всегда рандомно (от минимального до максимального значения. в настройках абилки указаны минимальное и максимальное значение). Здесь также можно указать несколько типов существ, это как раз необычно. Типы существ тоже рандомно спавнятся. Например, вызываю 5 существ: это может быть 3 пехотинца и 2 стрелка, так может быть и по-другому 2 стрелка и 3 пехотинца, или 4 пехотинца и 1 стрелок и так далее.
Торнадо 'ANto' - в указанную точку призывается торнадо (призвать можно только одно торнадо). Пока кастер произносит заклинания (делает channeling-анимации), вы можете управлять торнадо. Но учтите, торнадо можно прервать, если кастер прекратит кастовать. Торнадо можно заставить двигаться в любую точку, оно дамажит всех вокруг (у нее аура дамага, аура понижения скоростей, и аура, которая подбрасывает вверх вихрем).
ПРИЗЫВ: разделение юнитов
Три Стихии 'ANef'/'Acef' - герой разделяется на три существа (сам герой пропадает). Герой превращается в трех воинов, наделенных силами Огня, Земли, Ветра. Призыв трех существ ловится событием "юнит призывает боевую единицу". Если хоть один из трех вызванных существ выживет, то герой возродится. Действие завершения заклинания (это когда суммоны исчезнут, а герой появится) ловится "Юнит прекращает/завершает действие заклинания". Даже, если один из выживший будет сильно ранен, герой возродится в полном запасе хп.
ПРИЗЫВ: призыв энтов из деревьев
Сила природы 'AEfn'/'ACfr' - вызывает энтов из деревьев в указанной области, деревья как бы вырубаются, типа ожили. Можно указать количество энтов. Правда, не всегда можно вызвать нужное количество, ведь зависит от количества деревьев в указанной области. Если в абилки указано, что можно призвать 2 энтов, но у вас в указанной области стоит одно дерево, то естественно вызовите одного. Также эта заклинание вырубает все деревья, и не важно сколько энтов указано (будь 1 энт, то сможет вс деревья вырубить). Иногда энты могут застрять в деревьях, это из-за того, что радиус указанной области маленький или целились в гущу деревьев, из-за чего не выйти.
превращение в зомби
Обращение во Тьму 'ANdc'/'SNdc' - сразу пробовал сам разобраться в тестовой карте, но не получается ни на кого нацелиться. Как бы цели не менял, настройки юнитов и цели абилки не ковырял. Но на самом деле все работает. Меня сбил кривой перевод поля. Поле "Конвентирует в расу" - здесь указана раса юнита, юнит которой может превратиться в зомби. По стандарту тут стоит "Все", я подумал, что это все расы, но на самом деле не так. В варике юниты поделены на расы, есть раса "Нежить", "Альянс" и др. Есть также раса "Все" - тоже раса нейтралов. Превращение ловится событием "Юнит призывает боевую единицу". Здесь превращенный юнит не призывается на вашу сторону, он как принадлежал другому игроку, так и принадлежит (но это можно подправить). Единственное, что превратил в другого.
Призыв не работает на тех, кого нельзя оживить (у юнитов в РО "тип смерти"), короче кто не оставляет трупы. Гидра 'Aspy'/Молодая Гидра 'Aspt'/Пауки 'Aspd'/ 'Assp'/Скелет 'Asod' - не имеет иконки. при смерти юнита вызывает других юнитов (можно указать кол-во). Обычно вызывает более мелкую версию себя (например гигантская гидра призвала две маленькие гидры) Паразит 'Acpa'/'ANpa' - внедряет личинку паразита в тело врага, наносит урон, и, если умрет, то вылупляется юнит-паразит (автоприменение работает даже у тех, у кого нет атаки). Можно помочь добить другими юнитами, необязательно, чтобы смерть наступало именно от заклинания. Имеет очень похожие поля с отравляющими абилками, триггер ловит классификацию "отравление". Только вот настройки буфера не работают, чуть что измени в буфере, и не будет работать (там остается без изменений "убить боевую единицу"), короче не получится накладывать эффекты отравления или замедления. В настройках можно настроить снижение скорости боя и передвижения. Дебафф на цели имеет определенное время существования, если развеится, то не получить из него паразита, так как юнит жив, не умер. Если все-таки удаться убить, то после смерти призывается нужный нам юнит-паразит (отслеживается призыва событием "юнит призывает боевую единицу"). Можно указать кол-во призываемых. Этот дебафф нельзя развеить рассеивающим заклинанием. Ежесекундный урон относится к типу атаки "заклинание", не понижается защитой, является магическим уроном Черная стрела 'ANba'/'ACbk' - Orb, наносят дополнительный урон, вешая дебафф черной стрелы. Этот дебафф остается на противнике несколько секунд, повторная атака продлевает длительность дебаффа. Дебафф ловит смерть юнита (даже, если кто-то другой (не лучник) убьет), заклинание призывает скелетов. Ловится событием "юнит призывает боевую единицу". Может с первого выстрела призвать, если урона будет достаточно чтобы сваншотить (завалить с одного удара), и не нужно тогда никакого дебаффа. Этот дополнительный урон при атаке суммируется с нанесенным уроном героя, относится к типу атаки к тому, что указан в атаке. снижается физической защитой. Является физической атакой с физическим уроном. может использовать милишник. Призыв не работает на тех, кого нельзя оживить (у юнитов в РО "тип смерти"), короче кто не оставляет трупы. Печать Преисподней 'ANdo' - на указанного юнита вешают дебафф "Печать Преисподней", который ежесекундно наносит урон цели. Самое забавное, что длительность дебаффа задано на ноль (что значит этот дебафф вечен, его нельзя развеять или рассеять. Придеться спокойно ждать смерти, а лучше его убить поскорее.) Этот дебафф еще ловит смерть юнита (не важно отчего умер от заклинания или от руки какого-нибудь вашего левого юнита), и призывает демона "Привратника ада". Это заклинание также запрещает использовать заклинания и предметы, изучать способности, нанимать войска в зданий и изучать исследования (иконки заклинаний, исследований, нанимаемых войск и геройская кнопка "изучить" становятся не активными, даже пассивки не работают (не активны), а предметы не удается выкинуть или использовать). Ежесекундный урон относится к типу атаки "Заклинание", не понижается защитой, является магическим уроном. Урон можно убрать, поставив ноль. И призыв после смерти тоже можно убрать (копируете поле "тип боевой единицы" у способности нежити "Ядовитое облако (Дух)", оно как раз пустое, и вставляете в поле печать преисподней, тогда при смерти не будет появляться демон). Если обычный юнит (не герой) умирает, то он дропает итемы (хотя эт всегда работало). Является универсальным заклинанием, которое к тому же пробивает невосприимчивость к магий (натравить можно)
иллюзии
Иллюзия 'AOmi' - Создание иллюзорного двойника, сбивающего с толку противника. Все заклинания, наложенные на героя, при этом рассеиваются. Призыв двойника тоже считается как призыв. В характеристиках абилки можно настроить иллюзию (получал больше/меньше от противника или вообще ничего не получал от врага, также как и наносить урон врагу больше/меньше или вообще не наносит никакого урона. Одновременно с этим иллюзии теряют на панеле все активные скиллы, остаются только пассивки. В абилке можно настроить, так что вызванные илююзий не могли наносить урон (весь урон обнуляся). Но очень хорошо срабатывает обманка двойников. Например криты будут выдавать обманку, красные цифры будут всплывать, что нанесли урон, а скилл "иллюзия" по стандарту обнуляет нанесенный урон иллюзией. Есть и недостатки с морфом - он тебя выдает: если заранее создать иллюзорного двойника, а самому потом морфнуть в какого-нибудь другого юнита, то оригинал будет в другой форме, в то время как ваш двойник остается таким же. Чтобы иллюзию перевоплотить (морфнуть) используют способность "Превратиться в медведя" 'Abrf' - везде ставите 0.00 еще ставите нормальную форму, то есть ту, которую хотите перевоплотить. В триггерах этот морф сразу даем и тут же убираем. Сработает баг у иллюзии, и они перевоплотятся в другую форму. Сбивает приказ Предмет: иллюзий 'AIil' - нужно выбрать дружественного юнита, по которому будет создана иллюзия. Призыв двойника тоже считается как призыв. В характеристиках абилки можно настроить иллюзию (получал больше/меньше от противника или вообще ничего не получал от врага, также как и наносить урон врагу больше/меньше или вообще не наносит никакого урона. Одновременно с этим иллюзии теряют на панеле все активные скиллы, остаются только пассивки. В абилке можно настроить, так что вызванные илююзий не могли наносить урон (весь урон обнуляся). Приказ = 852274, строкового приказа не существует.
воскрешение
Воскрешение 'AHre'/предметная: Младшая руна воскрешения 'APrl'/Предмет: Воскрешение 'AIrs'/'AIrx' (эта способность никого не вызывает, а только воскрешает. Но при воскрешении отслеживается призыв через событие). Воскрешает определенное кол-во юнитов (можно указать кол-во оживленных). Требует трупы. Помощь предков 'Aast' - воскрешает одного ближайщего мертвого минотавра. Действует воскрешение на юнитов с классификацией "Минотавр". Любопытная инфа: воскрешают даже вражеских минотавров, и ожившие встают на вашу сторону (для этого нужно настроить цели абилки ).
гальванизация (что-то похожее на воскрешение)
Гальванизация 'AUan'/'ACad'/'AIhd'/Предмет: Гальванизация 'AIan' - оживляет из мертвых трупов определенное кол-во единиц (можно указать кол-во вызванных), делая их неуязвимыми. И сражаются на вашей стороне, и не важно на чьей стороне они воевали до этого. (могут наследовать улучшения, если до этого на них производил другой игрок улучшения. для этого нужно галочку поставить)
призыв с неба
Огненный голем 'AUin'/'ANin'/'SNin'/Огненный голем (предмет) 'AIin' - с неба в указанную область падает голем, который при падении наносит урона (указано в поле абилки "урон"), кроме того, в указанной области юниты оглушаются (stun) на неопределенное время. Урон от падения относится к типу атаки "Заклинание", не понижается защитой. Является магическим уроном. Можно сделать из этой абилки stun по области, но вместо голема нужно указать невидимого неуязвимого даймика (иначе stun не захочет работать). Кстати, в указанной области хорошо валит деревья, так сказать очищает место посадки Огненный дождь (из големов) 'ANrc'/'ANr3' - с неба в указанную область в случайные точки обрушиваются несколько големов. В этой абилке стандартно указывают другую абилку 'ANin'. Так понял, эта абилка заставляет кастовать другую абилку несколько раз в случайные точки. Все настройки принимает побочной абилки: длительность существования големов, stun, урон, радиус поражения и оглушения. По стандарту скилл "огненный голем" 'ANin' в указанной области наносит дополнительный урон, оглушая всех (еще и валит деревья). Можно попробовать другие побочные абилки принять, правда большинство не хотят работать через это. Зато работают другие призывы, правда, оглушает остальных (тоже время оглушения указано в побочных). Откуда берет это оглушение, не понятно (если указал абилку "дух воды"). Жалко, что атакующие заклинания не работают. Проигрывает ли кастер channeling-анимацию - неизвестно, является ли это channeling-анимацией? Но призывает последовательно по одному голему, и пока всех не призовет, тогда не прекратить махать руками. значит можно прервать действие, тогда либо не всех големов призовет или вообще никого не успеет призвать.
ПРИЗЫВ: поднятие мертвецов - требует трупы
Оживить мертвых 'Arai'/'ACrd' (автокаст) - автокастовая способность, которая поднимает скелетов из мертвых трупов. требует трупы. Это способность позволяет оживить одновременно несколько видов (например. скелет + скелет-некромант, еще можно указать и их кол-во). Есть в абилке поле "тип войск для проверки" - тут указывается тип, что это поле значит, не знаю (работает без этого). Оживить мертвых (предмет) 'AIrd' - эта похожая способность с автокастовой со всеми полями. Но задействована в предмете. Можно дать юниту. У него нет строкого приказа. Дебагом выявил числовой id-приказ 852624. Здесь не работает автокаст, точнее его нет - это же предмет. Трупоеды 'AUcb' (автокаст) - вызывает жука-трупоеда. Работает при наличий трупа. Это способность позволяет оживить одновременно несколько видов (например. скелет + скелет-некромант + еще можно указать и их кол-во. В данный момент там указан один жук-трупоед, а второй тип не указан). Вызывает навсегда, типа длительность 0 стоит. Имеет лимит на вызванных. Есть галочка "Убить после смерти мага" - после смерти кастера вызванные могут умереть (у абилке стоит "нет", значит жукам повезло, не умрут). Тут все же самое, что в скилле "Оживить мертвых", отличие только в том, что убрано поле "тип войск для проверки", добавлено поля "Макс. вызванных юнитов" и "Убить после смерти мага". Зов Возмездия 'Avng' (автокаст) - вызывает духов возмездия на месте трупа. для работы этого скила требует труп. Можно в настройках установить одновременно два разных типа, и определить их количество. Имеет лимит на вызванных. Абилка в точь-точь похожа на "трупоеды", разница лишь в том, что добавлено еще поле "тип войск для проверки", которое пустует и неизвестно что значит. Здесь вызванные духи существуют определенное время, могут погибнуть после смерти кастера. Галочка "Убить после смерти мага" - итак понятно, а вот как сделать чтобы выжили (см. пример трупоеды)? это работает на постоянных вызванных существ
особенные случаи:
Перерождение 'AOre'/'AOr3'/'ACm'/'ANr2'/'ANrn' предмет: крест перерождения 'AIrc'
Воин, обладающий этой способностью, возрождается через несколько секунд после гибели. После гибели обычно крест на земле лежит, между смертью и воскрешением есть задержка. Недостаток этого способа в том, то нельзя отловить никаким событием:
проверял, но может быть не точным. Здесь не нашел как отследить.
ни "вызывает боевую единицу" (не ловит, хотя логично, мы же не вызываем юнита, а воскрешаем),
"юнит становится воскрешаемым" (не понятное событие, хотя склоняюсь к тому, что относится это к другой способности, например способности Артеса "Гальванизация"/ или "воскрешение" паладина),
"юнит начинает/прекращает/завершает воскрешение" (это относится к алтарю, когда юнит умирает, игрок заново воскрешает в алтаре),
"юнит начинает применять способность/приводит способность в действие/завершает применение способности" (попробовал, но увы нет),
"юнит входит в регион .../юнит выходит" (увы нет, обычно когда юнит умирает, он исчезает из карты. Но с этой абилкой остается в игре, крест и тень то тоже остаются),
"юнит умирает" (видимо, это не считается в игре смертью)
Воин, обладающий этой способностью, возрождается через несколько секунд после гибели.
В интернете (много чего искал) пишут, что перерождение ловится событием "unit life becomes < 0.0405". Тестировал, и само событие не работает. Можно только периодически проверять с помощью проверки "здоровье меньше 0.0405". Откуда взялось число 0.0405 мне неведомо, дебаг показывает, что у юнита во время реинкарнации 0.00 здоровья. Надежности как бы мало для того, чтобы верить тем (я про число 0.0405). Еще периодически можно проверять классификацией "Мертв (Dead)", "IsUnitType(GetTriggerUnit(), UNIT_TYPE_DEAD)", которая говорит что юнит мертв во время реинкарнации. Все это не работает, так как срабатывает и на обычной смерти (на юните без перерождении срабатывает это, короче ничего не дает это).
Еще одна особенность: вроде во время смерти с предметом "крест перерождения" срабатывает событие юнит "использует предмет"\"использует способность" прокатывают.
Но вот отследить момент, когда юнит умирает и воскрешается, так и не удается (только через костыли). Можно свою систему перерождения сделать.
Примечание: предметная способность от креста перерождения 'AIrc' невидима, даже, если ее дать герою. И эта способность при смерти не срабатывает, видимо связана с предметом. Предположение: чтобы заработала, надо сделать снова ее видимой.
Перерождение 'AIrb' - используется в руне подчинения. Воскрешает моба, из которого выпала эта руна в качестве лута. Лут указан в таблице предметов с выпадением шанса. Эта таблица связывает руну с мобом. При использований руны сможете призвать (воскресить) именно этого моба, который будет драться на вашей стороне.
-Если просто триггерно создать на карте, а потом подобрать и использовать. Не получится воскресить.
-Если переделать руну в обычный итем, и отдать мобу. А при убийстве подобрать и заюзать. Не получится воскресить.
-Если использовать Item pool. www.hiveworkshop.com/threads/itempools-guide.35180 Как оказалось, Item pool и таблица предметов с выпадением одно и то же, но чуть отличаются. Если задать в редакторе в свойствах выбранного юнита на карте таблицу с предметами, то работает. А триггерный аналог ItemPool никакой связи между руной и умирающим не образует, ItemPool только помогает рандомный итем достать и все =(. Получается тоже самое, при получений руна дропается, но она ничего не делает. только через таблицу в свойствах юнита можно задать.
Не ловится событием "юнит призывает боевую единицу". Зато, ловится событием "Юнит вошел в регион". Можно было просто запомнить и пересоздать триггерно этого юнита.
Злые духи (у орды)/ Москиты (у нежити) 'AOls'/'AUls' - При активации заклинания от кастера вылетают духи, которые высасывают у врагов хп. И отдают добытые хп кастеру, тем самым пополняя ему здоровье. Это особый призыв духов, но имеет некую особенность, событие триггеров "юнит - вызывает боевую единицу" не считает, что этих духов призвали. Словить можно по событию "юнит входит в регион ... ". Уход из мира живых (исчезновение) можно отследить с помощью "юнит умирает". Есть у духов способность "москиты" 'Aloc' (надеюсь знаете что это такое? это такая способность, которая скрывает полоску здоровья, делает юнитов невыделяемыми, позволяет проходить сквозь объекты. Часто эта способность используется dummy-unit. Имеет недостаток, на такого юнита нельзя натравить мышкой. Кстати, способность москиты 'Aloc' и способности 'AOls'/'AUls' тесно связаны между собой. Если удалить у призываемой саранчи способность "москиты" 'Aloc', то духи-саранчи при вызове перестают кружится, стоят на месте, короче, ничего не хотят делать. Давайте разберемся в характеристиках абилки, как она работает: "Число членов стаи" - максимум вызванных москитов, "Максимум членов стаи на цель" - максимальное возможное количество москитов, сфокусированных на одном юните. "Фактор возвращенного урона" - сколько процентов (%) урона, нанесенным москитом, превращается в здоровье, затем это здоровье отдаст кастеру при возврате к нему. "Порог возвращенного урона" - максимальное число похищенного здоровья одним москитом, необходимое для возврата к кастеру и передачи герою добытого здоровья. Если порог больше или равно кол-во похищенного хп, то москит отдаст здоровье кастеру. Москит может похитить здоровье у одной цели, если будет мало, полетит к следующей цели, и так будет накапливать похищенное здоровье. "Интервал отпускания боевой единицы" - единицы измерения (в секундах) - задержка между вызовом каждой новой саранчи. Чтобы было понятно: при вызыве появилась первая саранча, через 0.2 секунды появилась вторая, через 0.2 сек третья - и так пока все 20 не появятся. (по умолчанию количество вызванных единиц: 20, по умолчанию: 0.2 сек = >> 20 * 0.2 = 4 секунды, прежде чем последний москит появится, можно проверить дебагом). "Область воздействия" - радиус действия саранчи. показывает, как далеко саранча может отойти от заклинателя, она мгновенно возвращается, если расстояние между ее положением и заклинателем больше заданного значения. По поводу урона - урон наносят сами вызванные юниты, и весь наносимый ими урон является физическим уроном (наносится с руки), так как понижается защитой. Не сбивает текущий приказ кастера, кастер останавливается, чтобы юзнуть скилл, а потом продолжает делать дальше дела
Завод 'ANfy'/ Мини-завод 'ANsy'/'ANs1'/'ANs2'/'ANs3' - пассивка с иконкой, каждый раз создает новых маленьких заводных гоблинов. Интервал порождения - время, через которое создается новый гоблин. Есть "радиус подчинения" - если гоблин отойдет дальше этого радиуса от завода, то погибнет. Это очень похоже на призыв, там таймер жизни нацепляют, наносится дополнительный урон, как вызванным существам, от магических заклинаний. Но не ловится событием "юнит призвал боевую единицу", зато можно ловить по событию "юнит вошел в область". Неплохо сочетается со способностью "сбор" 'ARal', "Сборный пункт" - указываешь флаг в точку, где будет скапливаться все войско (как только появится рядом, он побежит к точке сбора).
Вообще есть ли такая которая делает чтобы призванное существо не умирало после смерти
Да почти все способности такие: призванное существо не умирает после смерти героя. Проверял. Есть исключение - это у трупоедов и зов возмездия. Если есть особые случаи не работы показывай, что не работает и так далее
вариант А - тупо добавить аним.таг юниту, его свойства не изменятся, просто будет выглядеть как медведь
вариант Б - делать абилки в спеллбуке пермаментными, тогда они не будут пропадать
А касательно остальной части, если UnitUserData нигде не используется, создаешь массив юнитов и отрядов. Массив юнитов забиваешь своими капитанами. В UnitUserData капитана пихаешь его порядковый номер в массиве. Создаешь группу юнитов для этого капитана.
Добавление через каст способности.
Я бы делал через 2 разные абилки с одной и той же позицией в интерфейсе. Пока нужный тебе юнит не является частью отряда - у него таргетная абилка при касте которой на капитана он добавляется в группу соответствующего капитана и получает 2ю абилку взамен первой.
Касательно выделения этих пехотинцев - можно намутить что-то с передачей контроля или создать триггер, который будет снимать выделение с юнитов у которых есть 2я абилка. Если ты хочешь чтобы по одиночке можно было выделять пехотинцев - можешь создать переменную для каждого игрока с капитанами, куда будет просто записываться последний выбранный юнит. При снятии выделения - проверять не выбран ли этот же юнит, в случае чего не снимать выделение. Правда не уверен будет ли корректно работать :> В крайнем случае - будет работать в три клика вместо двух. Если я не ошибаюсь.
Касательно поведения этих пехотинцев - что-то реально стоящее сделать сложно. Возможно, но мне не с руки все расписывать :> Простейший вариант - приказывать пехотинцам после добавления в группу следовать за капитаном.
Добавление через атаку капитана
Триггер, проверяющий что капитан получил урон или атакован, как угодно. Далее любым способом проверяешь есть ли в группе этого капитана юниты. Если нет - выбираешь всех пехотинцев N радиусе, добавляешь в отряд, заменяешь абилку/либо просто приказываешь кастануть в капитана первую абилку.
Если юнит под баффом "чума" - добавить в отряд Чума
Иначе - удалить из отряда Чума
Триггер
С. Таймер Чума
Отряд выбрать юнитов Чума
Если юнит умер
Д. создать юнита в позиции выбранного юнита.
Простой ответ - никак. Близы не планируют поддержку чего-то выходящего за рамки отдельной карты или кампании.
Сложный ответ - надоедать близам чтобы завезли такую возможность.
local unit u= //кастер
local real x1=GetUnitX(u) //координаты кастера
local real y1=GetUnitY(u)
local unit t= //дайми
local real x2=GetUnitX(t)
local real y2=GetUnitY(t)
//определение расстояния
local real dx=x2-x1 //разница между концом на началом координаты
local real dy=y2-y1
local real dist = SquareRoot(dx * dx + dy * dy) //расстояние, где SquareRoot - математический корень, dx * dx - это dx в степени 2
local real angle = Atan2(dy,dx) //текущий угол между двумя точками (юнитами) в градусах
//если вы хотите текущий угол изменить, то можно изменить angle прибавив или убавив значение на несколько градусов
set angle = angle + 30. //например прибавляешь 30 градусов
set x = x + dist * Cos(angle * bj_DEGTORAD)
set y = y + dist * Sin(angle * bj_DEGTORAD)
как-то делается, но тонкостей дохера - нельзя иметь регионы на карте, чтобы это работало, нельзя иметь события на unitInRange, и тд. и тп. Проще говоря - обломись, дешевле сделать статичный магаз где-то в неиспользуемой зоне
ПРАВИЛА ЗАПРЕЩАЮТ НЕСКОЛЬКО ВОПРОСОВ ОДНОВРЕМЕННО!!! Это для того сделано, чтобы бот на каждый вопрос мог показать уже решённые варианты, если сформулирован вопрос нормально, конечно. А ещё это позволит другим пользователям с аналогичными вопросами увидеть ответы на твои. 1. Можно в РО отключить урон юниту и триггерами просчитывать, кто находится перед ним в момент атаки, им будет наноситься урон. 1.5. Не понимаю проблемы, с чего это ты переключаешься на муху, атакуя огромного лорда склепа? 2. Способность Каменные доспехи Ночных Эльфов. 3. И да, и нет. Стандартными средствами сможешь убрать карту через перерисовку интерфейса, разработать и добавить новые кнопки в пул из 12, но для расширения пула или инвентаря потребуются хитрые системы, типа мемхака или DGUI, но не пользовался ими, потому не подскажу, как именно там надо действовать. 4. Можно либо отлавливать урон и прибавлять здоровье, либо делать морф в неуронящего юнита. 5. Не знаю, как именно сделано в Blade of Darkness, но есть событие на нажатие кнопок со стрелками, есть действие на переключение камеры. Просто почитай статью о работе с камерой. 6. У камеры в свойствах есть угол обзора, первую камеру ставишь вниз с углом обзора вверх, что можешь увидеть, поставив галочку в свойствах камеры, вторую камеру поднимаешь вверх и наклоняешь вниз, а в триггере ставишь применить первую камеру в течении 0 секунд, ждать 2 секунды, применить вторую камеру в течении 5 секунд, так обзор будет подниматься в положение второй камеры, ждать 5 секунд.
Через дамми-каст:
Создаешь пустышку с описанием и передаешь ее герою.
При касте этого спелла создаешь даммика(невидимого/пустого юнита с нужными способностями) и кастуешь нужный спелл.
Дамми при этом занят кастом спелла, а герой может делать все что угодно
Бтв, про сбор команды - для продвинутых сущностей нередко исправлять за другими оказывается тяжелее, чем делать самому, важно создать максимально комфортные условия для созидания, вот для чего деньги не лишние, а уж дело и самому можно делать.
И, да, тема-то не про то, надо это или не надо, а про то, как лучше это сделать, я про это и в стартовом сообщении написал.
Я на крайний сам вопрос по варианту 3 проверю и/или будет сделан выбор между третьим вариантом, вторым, каким-то ещё и отказом от Cooldown Reduction, но если кто поможет - спасибо.
Лимит операций, обычно это беда настигает заядлых гуишников.
На jass обычно нету таких проблем.
Создайте таймер с периодом .00 сек и запускайте им функции инициализации триггеров.
функция типа InitTrig_Имя триггера - это функция инициализации триггера, она вызывается из функции InitCustomTriggers, но если этих вызовов очень много то функция упирается в лимит операций и поток завершается так и не создав все триггеры.
должен сразу предупредить что делать за тебя никто не будет
теперь по твоим вопросам
чтобы нельзя было кликать скрываешь, даёшь москиты, делаешь видимым
действие проиграть звук и указываешь твою фразу
выбираем всех подходящих(враги,живые) юнитов в радиусе от точки каста и создаём по дамми юниту(юнит без модели, без атаки, с москитами, с нужной способность, время жизни юнита 1 сек) для каждого подходящего юнита приказывая дамми юниту применить нужную способность в подходящего юнита
таким образом каждый дамми юнит применит нужную способность (в твоём случае корни) в 1 подходящего юнита для которого он и был создан а потом исчезнет
Ничего не понятно, но если не работает пеший в пешего, почему не пеший>летающий>пеший - использовать посредника?
Ващето пеший в пешего работает но не так, альт форма дамми юнит, нормальная форма тот в кого хотим превратится, основа перевоплощение, все параметры в 0.
Я думаю, тебе стоит переписать свою темку на другом языке, ибо не отвечают потому что не понимают.
Как объединить зелья лечения в одно с зарядом, если герой имеет одно в инвентаре и поднимает второе?
обычно используют "событие - юнит получает предмет", И на предмет, который вы получаете, ссылается переменная, которая называется item being manipulated. А юнит, который получает итем - Triggering Unit. Вы можете с помощью этой переменной итема узнать тип, сравнить. Потом циклом пробегаете по слотам (от 1 до 6), тут вся суть в одной команде триггерной (item in slot X, итем в слоте Х) и проверяете есть ли такой же итем (не забываем делать проверки, на то что этот предмет не равен item being manipulated и сравниваете не одинаковые ли типы). Если есть такой же (находите тот же тип что и item being manipulated), то от item being manipulated берете заряды и прибавляете к зарядам существующего, а потом item being manipulated удаляете. Недостаток: при заполненном инвентаре такая штука не будет работать.Не хватает свободного места.
код
цикл А от 1 до 6
if тип итема (item being manipulated) РАВНО тип итема (item in slot А) and item being manipulated НЕ РАВНО item in slot А then проверяете
set k = Charges remaining in ( item being manipulated) + Charges remaining in ( item in slot А) складываете заряды
Set charges remaining in ( item in slot А) to ( k) устанавливаете кол-во зарядов
Remove Item (item being manipulated) удаляете
endif
Есть гуишная проверка на наличие итема определенного типа в инвентаре, но она утечна. И лучше циклом прогонять.
Кстати выше пример, там вот дропают итем, зачем? чтобы проверить есть ли такой же итем. А то мб проверка на наличие итема определенного типа в инвентаре найти подобранный итем. А нам нужно знать, что есть еще один, кроме подобранного. Поэтому дропают. Только не понятно зачем создаете новый итем.
Проверка, на то что подобранный предмет имеет зарядов больше 0, говорит нам о том что это не обычный предмет.
есть статьи
Как зелье с зарядом разделить, если игрок перекладывает зелье с зарядом в другую ячейку инвентаря, если возможно, то разделение происходить должно только при нажатии какой-то клавиши?
можно перекладывать в другой слот. для этого ловят приказ. Короче смотрите системы CCS
там создают новый такой же предмет, и выделяют кол-во зарядов, деля поровну например. Абилкой например, попробуй сделать целевую активную абилку с целью предмет, указывай на инвентарь и дели.
Как это можно сделать покороче для множества разных типов предметов?
всмысле покороче? сделать под одну группу? есть же классификация. Я вот делаю так, что все предметы, которые с зарядами, должны иметь классификацию "с зарядами". Не помню точно как называется класс итемов.
Как правильно реализовать в инвентаре 7 слот?
если у героя заполнен инвентарь, то он может подобрать руну. Вот в доте система скрещивания. То же самое можно сделать и с зарядами. На земле у него лежат руны, при подборе руна исчезает. Но мы проверяем слоты, есть ли такой итем. Если есть, прибавляем заряды к существующему. Иначе создать новый. При дропе итема, оригинал подменяет снова на руну. В руну можно передать значения зарядов.
А также ограничения какие-то на количество зарядов нужно ставить или сама система выше какой-то планки не даст собирать?
до такого не доходил.
скинул примеры (хотя многие дурацкие, но делал здесь хгм в качестве ответов)
вот еще одна система hh
меня не волнует уровень героя я хочу убрать этот предмет если их больше 2..уровень предмета то да..по другому я не вижу...вопрос в не в этом вопрос в том что увеличить а что убрать
пример взял отсюда
Item System
Events
Unit - A unit Acquires an item
Conditions
Actions
Set Item = 0
For each (Integer Slot_Integer) from 1 to 6, do (Actions)
Loop - Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
(Item level of (Item carried by (Hero manipulating item) in slot Slot_Integer)) Equal to (Item level of (Item being manipulated))
Then - Actions
Set Item = (Item + 1)
Else - Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
Item Greater than 1
Then - Actions
Hero - Drop (Item being manipulated) from (Hero manipulating item)
Game - Display to (All players) for 5.00 seconds the text: Can't carry more th...
Else - Actions
решил вопрос....я проверял сколько предметов такого типа предмета и 2 убрал...написал так чтобы он понимал только этот тип предмета....теперь он правильно работает....надеюсь и другим этот триггер поможет в реализации..правда его надо доработать ну тем не менее
вот
а почему именно любой? я же прописал какой предмет нужно удалить и с каким нужно работать
ну я так и делаю...только почему то он не понимает
яяяя не знаю в чем ошибка...и по другому сделал и так и сяк и никак..он все равно уничтожает предмет....мне нужно конкретно знать где он останавливается и решить этот вопрос...
может ошибка в других триггерах?..я так не думаю...он же по любому должен увидеть уровень... да даже если я уберу hero manipulating item и оставлю только кол-во предметов он все равно уничтожит...мне нужно только 2 уничтожить а не все предметы такого типа...черт его знает
да и так пробовал...уничтожает через раз предметы..1 подбирал остается 2 подобрал уничтожает 3 взял подбирается 4 уничтожается и так до бесконечности
и этот цикл убрал...from 1 to 6....тоже нет
может убрать эту огромную строчку и тупо уничтожить предмет из item caried by hero manipulating item of type?
решил вопрос...не хватало одно if all condition are true при условии что срабатывает ИНАЧЕ при первом подбирание предмета...ИНАЧЕ НЕ ТРОГАТЬ...а то условие срабатывало как ТО и ИНАЧЕ...не хотела проходить дальше вот и уничтожало предмет..обошлось малой кровью...я забыл что одно условие не может проверить что нужно если не прописать это
выкладываю мою систему систему...теперь она правильно работает...
Опытным путем, спустя второй день нервов, нашел выход. Я снова импортировал текст в карту, и она перестала крашиться. Почему отсутствие текста влияло на неё, не знаю.
ssbbssc, WarSC, оба офнитесь
фигню несёте
судя по тому что написал афтар ему нужен чит позволяющий ему строить любого героя
но триггеров он не знает
поэтому сначала читаем статьи
потом делаем триггер
событие - игрок вводит текст -cheat
действие - создать триггерному игроку строителя способного строить особый алтарь
простейший триггер
Автор где-то накосячил. В прикрепленной карте два героя. Один из них - невыделяемый. Когда горный король получает приказ стоп - он и второй герой получают +1 очко способностей. Отдавая приказ удержания позиции - -1 очко способностей. Это дело исправно отображается на их боковых иконках. Триггеры созданы при помощи триггерного GUI и, при этом, явно не без помощи индуса. Искать ошибку кому-либо кроме автора в нем - не рентабельно. (по факту - это проще переписать. Но у гуишников это занимает много времени, да)
Сначала юнитам назначаются переменные, для этого есть массив unit. Массив-это множество переменных, которые разделяются с помощью индексов. Потом выбирается вампир с помощью переменной vamp, для этого vamp=unit со случайным индексом от 0 до 7. Потом в переменную vamp_player заносим игрока, который владеет будущим вампиром, это потребуется как для назначения союза с 12 игроком, так и для будущих действий. Через 20 секунд сделай что-нибудь типа засыпания паладинам, например, дай им Гоблинский телескоп с отрицательным увеличением поля зрения, дальше назначается союз vamp_player с Игрок 12. Если анимация кровавого взрыва при превращении в вампира не та, меняй. Не знаю, что ты задумал с войсками, потому просто создал рядом с вампиром четырёх скелетов. Ну и там дальше ожидание до момента, пока минимум один из юнитов других игроков не умрёт, если умер, то вампир превращается обратно в того, кем был.
Запрещено создавать несколько вопросов в одном. Бот мог бы выдать к каждому вопросу аналогичные вопросы, которые уже задавались и были решены, а так выдал ерунду какую-то. Можно сделать всех юнитов героями, убрать у них пиктограмму в левой верхней части экрана и добавить триггер, если юнит умирает, который не относится к настоящим героям, то сменить владельца на какого-нибудь нейтрала.
Покупка способностей делается через способность Техника, поищи на сайте более подробное описание.
Возможность выделить много юнитов, как одного есть, но это очень сложный костыль надо делать. Да и не факт, что получится чисто. Надо делать модель круга выделения, делать триггер, который отлавливает выбор игрока и при наличии нужного количества однотипных юнитов убирает из выбора остальных, дав им модель круга выделения, другой триггер будет отлавливать все приказы выбранному юниту и отдавать их псевдовыбранным, третий триггер будет выделение снимать.
function GetDirection takes unit u, unit targ returns int
local real alpha = GetUnitFacing(u)
local real gamma = bj_RADTODEG * Atan2(GetUnitY(targ)-GetUnitY(u), GetUnitX(targ)-GetUnitX(u))
if gamma < 0 then
set gamma = 360. + gamma
endif
if (alpha < 180. and not(gamma > alpha and gamma < alpha + 180.)) or (alpha > 180. and gamma > alpha - 180. and gamma < alpha) then
return 2
else
return 1
endif
endfunction
1 право, 2 лево, вроде бы
и обнулять реал это мощно... и хеш таблица не корректно используется...
Сделал набросок, используя редактор триггеров. Не забудьте включить автоматическое создание неизвестных переменных в редакторе, когда будете переносить триггеры.
Сделал набросок, используя редактор триггеров. Не забудьте включить автоматическое создание неизвестных переменных в редакторе, когда будете переносить триггеры.
Если перемещать юнита периодично по координатам, а не точкам, ему нельзя будет отдать приказ перемещаться. При этом можно проигрывать нужную анимацию по индексу. Так устроенны системы перемещения на стрелках, но это можно применить и в данном случае.
Конечно, понадобятся дополнительные проверки, вроде не оглушён ли юнит и т.д.
» WarCraft 3 / Параметры нестандартных способностей
» WarCraft 3 / респавн мобов
» WarCraft 3 / Изменение ловкости героя
» WarCraft 3 / проблема с ландшафтом
» WarCraft 3 / Лицензия WarCraft 3
» WarCraft 3 / Редактор ИИ
» WarCraft 3 / Как исправить?
» WarCraft 3 / Использования юнита как снаряд
» WarCraft 3 / Триггерный ИИ
» WarCraft 3 / Заряд и способность
» WarCraft 3 / Как заставить юнитов использовать способности в редакторе
» WarCraft 3 / Юнит цель применяемой способности
» WarCraft 3 / Скилл на неуязвимость
» WarCraft 3 / Как спрятать интерфейс?
» WarCraft 3 / CASC
» WarCraft 3 / Модель дамми
» WarCraft 3 / Как сделать моментальную атаку
» WarCraft 3 / вероятность в триггерах
» WarCraft 3 / помогите изучить картостроение
» WarCraft 3 / Ограничение для предметов
» WarCraft 3 / Краш карты
» WarCraft 3 / Иконки выбора героев
» WarCraft 3 / Как удалить героя из выбора таверны
» WarCraft 3 / Как сбросить способности героя?
» WarCraft 3 / способность рывок